package net.lab1024.sa.admin.module.basedata.customer.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.Date;

/**
 * 客户基础数据
 */
@Data
@TableName("t_customer")
public class Customer {

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long customerId;

    /**
     * 客户编码
     */
    @NotNull(message = "客户编码不能为空")
    private String customerCode;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 客户类型（个人、公司）
     */
    private String customerType;

    /**
     * 客户地址
     */
    private String customerAddress;

    /**
     * 客户电话
     */
    private String customerTelephone;

    /**
     * 客户国家
     */
    private String customerCountry;

    /**
     * 客户城市
     */
    private String customerCity;

    /**
     * 客户类型
     */
    private String customerCategory;

    /**
     * 客户标签
     */
    private String customerLabel;

    /**
     * 本公司标识
     */
    private String ownFlag;

    /**
     * 版本
     */
    private Integer version;

    /**
     * 客户状态
     */
    private String status;

    /**
     * 审批状态（未提交UNSUBMIT、已提交SUBMIT、已审批APPROVE、已驳回REJECT）
     */
    private String approveStatus;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdDate;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 最后修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastUpdatedDate;

    /**
     * 最后修改人
     */
    private String lastUpdatedBy;

    /**
     * 组织机构
     */
    private String orgCode;

}

